package com.hpe.springboot.springbootmybatis.dao;

import com.hpe.springboot.springbootmybatis.entity.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * 用户Dao接口类
 * @Mapper：在Dao层需要添加此注解，让Spring进行管理，此注解
 * 是每一个Dao接口都需要添加的，如果不添加那么Spring就不能识别。
 * 我们可以在启动类上添加@MapperScan注解来批量指定
 */
//@Mapper
public interface UserDao {
   // @Insert("insert into user(username,sex) values(#{username},#{sex})")
    void saveUser(User user);

    @Update("update user set username=#{username},sex=#{sex} where id=#{id}")
    void updateUser(User user);

    @Select("<script>" +
            "select id,username,sex from user where id=#{id}" +
            "</script>")
    User findById(Integer id);

    @Select("select id,username,sex from user")
    List<User> findAll();

}
